#ifndef AGRCLT_H
#define AGRCLT_H

#include <QWidget>

/****************************************************
 * INCLUDES PARA TODO LO RELACIONADO CON LA CANCEACION*
 * DE ALGUNA VENTANA*
 ****************************************************/
#include "../cancelar/cancelar.h"

/****************************************************
 * INCLUDES PARA TODO LO RELACIONADO CON LA CONEXION*
 * CON LA BASE DE DATOS SQLITE                      *
 ****************************************************/
#include "../conexion/conexion.h"

namespace Ui {
class agrclt;
}

class agrclt : public QWidget
{
    Q_OBJECT
    
public:
    explicit agrclt(QWidget *parent = 0);
    ~agrclt();

    //FUNCION QUE SE ENCARGA DE LIMPIAR LOS CAMPOS
    void clearDatsAll( void );

private slots:
    //SLOT PARA BUSCAR LA IMAGEN EL DIRECTORIO ACTUAL
    void browserImg( void );
    //SLOT PARA QUITAR LA IMAGEN DEL CONTACTO
    void clearImg( void );
    //SLOT PARA CONFIRMAR EL CIERRE DE LA VENTANA
    void cnfCierreD( void );
    //SLOT PARA COMPROBAR QUE LOS DATOS SE HAYAN
    //INSERTADO
    void checkDatsAll( void );
    //SLOT QUE SE ENCARGA DE MANDAR LOS DATOS A GUARDAR
    //A LA CLASE QUE GUARDA LOS DATOS EN LA BASE DE DATOS
    void saveDatsAll( void );
    //SLOT PARA INDICAR QUE SE GUARDEN LOS DATOS Y SE
    //MANTENGA EL WIDGET ABIERTO PARA AGREGAR OTRO CONTACTO
    void saveAndNew( void );
    //SLOT PARA INDICAR QUE SE GUARDEN LOS DATOS Y CIERRA
    //MANTENGA EL WIDGET
    void saveAndClose( void );

signals:
    //SEÑAL QUE SE EMITE SI SE HAN INSERTADO CORRECTAMENTE LOS DATOS
    //DEL CLIENTE A AGREGAR
    void DatsCorrect( void );

private:
    Ui::agrclt *ui;

    //PUNTERO PARA LOS MENSAJES DE CANCELACION DE ALGUNA
    //ACCION EN ALGUN WIDGET
    cnlApp* cnlclApp;
    //PUNTERO PARA LA CONEXION CON LA BASE DE DATOS
    conexionDB* cndb;
    //PUNTERO A LA ESTRUCTURA DE TODOS LOS DATOS
    Datos* dtsClt;
    //FUNCION QUE CARGA LA RUTA DE LA IMAGENA
    //QUE REPRESENTARA AL CONTACTO
    void loadImgContacto( const QString path );
    //BOTON PARA LOS MENSAJES DE ERROR
    QPushButton *aceptar;
    //VARIABLE PARA INDICAR SI HAY QUE CERRAR EL WIDGET
    //ACTUAL
    bool clsWdt;
};

#endif // AGRCLT_H
